Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

C++ 20 = 10, 5, 5


Rekomendowane odpowiedzi

Opublikowano

Witam, tak jak w temacie. Chodzi mi o program, który po podaniu liczby "rozbiera ją" na.. no właśnie.. na co ? np.:

20 = 10, 5, 5

15 = 6, 6 ,3

17 = 7, 5, 5

40 = 20, 10, 10

Ma się zaczynać od największej i jedna z liczb może się powtórzyć maks. 2 razy i muszą być 3 cyfry.

Błagam. Pomóżcie. Męczę się z tym od rana...


OFF.

Opublikowano
int liczbaDoPodzielenia = costam;
int skladniki[3];
for(int i = 0;i < 3; ++i)
{
   skladniki[i] = costam/3;
   if(costam%3) //może być też while, wynik się zmieni, ale dalej będzie poprawny
   {
      --costam;
      ++skladniki[i];
   }
}
++skladniki[0]; //żeby zapobiec sytuacji np 18 = 6+6+6
--skladniki[2]; //będzie 7+6+5

PS. Naucz się rozróżniać cyfry od liczb, bo idzie się tylko domyśleć o co ci chodzi tak na prawdę.

Tak samo można się jedynie domyślać, że chodzi ci o rozkład liczby na 3 składniki.

Naucz się wysławiać.

Weteran
Opublikowano

To może tak?:

int a = 17;
if (a % 3) printf("%d = %d + %d + %d\n", a, (a + 2) / 3, (a + 1) / 3, a / 3);
else printf("%d = %d + %d + %d\n", a, a / 3 + 1, a / 3, a / 3 - 1);
Opublikowano

To może od razu tak:

cout<<a<<", 0, 0";

Tez tak myslalem ,ale :

"Chodzi mi o program, który po podaniu liczby "rozbiera ją" na.. no właśnie.. na co ? np.:"

 

Dlatego zrobilem z 1

 

 

 

 

@ Dla licz dodatnich jak i ujemnych 

if(a%3)
	{
		if(a<0)	cout<<a<<" = "<<a/3<<","<<(a-1)/3<<","<<(a-2)/3<<"\n";
		else cout<<a<<" = "<<(a+2)/3<<","<<(a+1)/3<<","<<a/3<<"\n";
	}
else cout<<a<<" = "<<(a/3)+1<<","<<a/3<<","<<(a/3)-1<<"\n";

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...